The advent of cloud-based computing architectures has opened new possibilities for the rapid and scalable deployment of virtual Web stores, media outlets, social networking sites, and many other on-line sites or services. In general, a cloud-based architecture deploys a set of hosted resources such as processors, operating systems, software and other components that can be combined together to form virtual machines. A user or customer can request the instantiation of a virtual machine or set of machines from those resources from a central server or cloud management system to perform intended tasks, services, or applications. For example, a user may wish to set up and instantiate a virtual server from the cloud to create a storefront to market products or services on a temporary basis, for instance, to sell tickets to or merchandise for an upcoming sports or musical performance. The user can subscribe to the set of resources needed to build and run the set of instantiated virtual machines on a comparatively short-term basis, such as hours or days, for their intended application.
Typically, when a user utilizes a cloud, the user must track the software applications executed in the cloud and/or processes instantiated in the cloud. For example, the user must track the cloud processes to ensure that the correct cloud processes have been instantiated, that the cloud processes are functioning properly and/or efficiently, that the cloud is providing sufficient resources to the cloud processes, and so forth. Due in part to the user's requirements and overall usage of the cloud, the user may have many applications and/or processes instantiated in a cloud at any given instant, and the user's deployment of virtual machines, software, and other resources can change dynamically over time. In cases, the user may also utilize multiple independent clouds to support the user's cloud deployment. That user may further instantiate and use multiple applications or other software or services inside or across multiple of those cloud boundaries, and those resources may be used or consumed by multiple or differing end-user groups in those different cloud networks.
As such, users or operators who wish to monitor the usage history of their diverse cloud-based application deployments may be confronted with a complicated series of tasks to capture application or service usage in the cloud. As one potentially complicating factor, the user may need to connect to multiple software vendor databases or repositories in multiple clouds to attempt to monitor collective software subscription rights. The user may further need to independently contact or register with cloud management systems which host the multiple or independent clouds to carry out usage monitoring activity. Each of the cloud management systems which support the user's various cloud networks may have different communication protocols, security requirements, application programming interfaces (APIs), and/or other specifications or formats. An administrator attempting to organize the collective usage activity of their end-user base across all operative clouds may therefore have to manually configure the connection to each supporting cloud management system or other usage monitoring service in local clouds. It may be desirable to provide systems and methods for aggregate monitoring of utilization data for vendor products in cloud networks, in which users based in any arbitrary host cloud or clouds can access an external service to determine the usage history, service levels, subscription arrangements, and other details of their cloud deployment footprint across all cloud environments.